package com.csap.framework.oauth2;

import com.csap.framework.oauth2.request.LogoutRequest;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

/**
 * 用户端点
 *
 * @author yangchengfu
 * @dataTime 2021年-07月-27日 22:57:00
 **/
public interface UserInfoEndpoint {
    /**
     * 退出登录
     */
    @RequestMapping("/oauth2/loginOut")
    void loginOut();

    /**
     * 用户的openID
     *
     * @param logoutRequest
     */
    @RequestMapping("/oauth2/logoutByOpenId")
    Boolean logoutByOpenId(LogoutRequest logoutRequest);

    /**
     * 获取用户信息
     *
     * @return 用户信息
     */
    @RequestMapping("/oauth2/userInfo")
    UserInfo userInfo();


    /**
     * 获取用户信息 根据登录的ID
     *
     * @param loginId 登录标识
     * @return 用户信息
     */
    @RequestMapping("/oauth2/userInfoId")
    UserInfo userInfo(@RequestParam Object loginId);

}
